﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel.DataAnnotations;

namespace PuroGame.ViewData.Mercadao
{
    public class UsuarioViewData
    {
        public int ID { get; set; }
        [Required(ErrorMessage="Nome é obrigatório")]
        public string Nome { get; set; }
        [Required(ErrorMessage = "E-mail é obrigatório")]
        public string Email { get; set; }
        [Required(ErrorMessage="Informe a senha!")]
        public string Senha { get; set; }
        [Required(ErrorMessage="Informe a senha!")]
        [ValidarSenhaRepetir]
        public string SenhaRepetir { get; set; }
    }

    public class ValidarSenhaRepetirAttribute : ValidationAttribute
    {              
        public ValidarSenhaRepetirAttribute()
        { 

        }

        protected override ValidationResult IsValid(object value, ValidationContext validationContext)
        {
            string senha = validationContext.ObjectType.GetProperty("Senha").
                GetValue(validationContext.ObjectInstance, null).ToString(); 

            if(senha.Equals(value.ToString()))
                return null;
            else
                return new ValidationResult("Senha diferentes");
        }
    }
}
